#leetcode题目136：只出现一次的数字
#难度：简单
#时间复杂度：O(n)
#空间复杂度：O(1)


#使用异或运算

from typing import List
class Solution:
    def singleNumber(self, nums: List[int]) -> int:
        """
        只出现一次的数字
        给定一个非空整数数组，除了某个元素只出现一次以外，其余每个元素均出现两次。找出那个只出现了一次的元素。
        """
        res=0
        for num in nums:
            res^=num
        return res

#测试数据
nums = [2,2,1]
#预期输出：1
solution = Solution()
print(solution.singleNumber(nums))


nums = [4,1,2,1,2]
#预期输出：4

solution = Solution()
print(solution.singleNumber(nums))